Modern optical networks carry large amounts of traffic, so it is imperative that they be able to survive an accidental failure such as a fiber cut or a node failure. The simplest way to protect a light path against failures is to employ 1+1 or dedicated protection. That is, in addition to the primary or working path, one allocates a secondary or protection path and transmits a duplicate copy of the traffic along the protection path. If there is a failure on the working path, then one switches to the protection path.
FIG. 1 shows an example of a square mesh network. The square mesh network may have four nodes A-D, five physical links L, and two demands D1 and D2. Each demand is allocated two disjoint routes, a working path W and a protection path P. Note that on physical link AD, the protection paths P of each demand overlap. On this physical link, two units of capacity must be allocated.
Dedicated protection works well, but in many cases it is overkill. The reason is that in many networks, the probability of two or more simultaneous failures is so small as to be negligible. Therefore, if two distinct working paths have no common point of failure, then it makes sense for their respective protection paths to share bandwidth, because the probability that both working paths will request use of the protection bandwidth at the same time is negligible. For example, in FIG. 1, the two working paths are completely disjoint from each other so it makes sense to allow them to share protection bandwidth. If we allow sharing, then only one unit of capacity is needed on link AD.
Shared protection requires more complex signaling and therefore somewhat more expensive equipment than dedicated protection, but the savings in bandwidth and equipment that it provides makes shared protection an attractive option to many carriers.
The choice between dedicated and shared protection is not the only choice that must be made by the designer of a survivable optical network. A choice must also be made between link-based and path-based, or end-to-end, protection. In link-based protection, the nodes A and B at either end of a failed link are responsible for detecting the failure and re-routing on a protection path P around the failure. The failed link may be utilized by a large number of different light paths, each with a different source and destination. After the failure, these light paths travel from their source node to node A as before, then take the protection path P to get to node B, then finally travel from node B to their final destinations. For example, Synchronous Optical NETwork (SONET) Bi-directional Line Switched Ring (BLSR) networks use a shared link-based protection. In path-based protection, it is the source and destination nodes of each individual light path that are responsible for detecting the failure and re-routing on a protection path. As in link-based protection, a single failed link may cause many different light paths to fail. Now, however, each one of these light paths is free to travel on a completely different protection path from source to destination. In particular, there is no need for it to visit the nodes A and B at the ends of the failed link. For example, SONET Unidirectional Path Switched Ring (UPSR) networks use dedicated path-based protection.
There are several factors to consider when choosing between link-based or path-based protection. Shared path-based protection tends to use less total bandwidth than shared link-based protection. One reason is that in link-based protection, there is a backhaul problem. A protection light path may travel to node A and then double back on itself in order to get to node B. Shared link-based protection tends to be faster than shared path-based protection. The reason is that in link-based protection, the failure detection and repair happens locally, whereas in path-based protection the signals must travel all the way to the source and the destination. Furthermore, as already mentioned, a single fiber cut usually triggers a large number of alarms in a path-based scheme and processing all these alarms simultaneously can bog down the network. It is difficult if not impossible for a link-based scheme to protect against node failures. Link-based schemes rely on the nodes on either end of a link to perform a protection switch. If one of these nodes fails, then it cannot perform the switch. A path-based scheme can simply choose node-disjoint paths from end to end for all its light paths and then node failures are automatically survivable unless it is the source or destination node that fails, but in that case it is impossible to recover from the failure anyway.
It is well known that SONET rings provide fast protection (50 ms for a ring of circumference at most 1200 km that carries no extra traffic), even on a BLSR, which uses shared protection. Conventional shared mesh protection networks cannot match the speed of a SONET BLSR ring. In a SONET BLSR network, only the nodes on either side of a failure need to make a real-time switch. The rest of the protection path is pre-cross-connected so that the intermediate nodes on the protection path simply pass through the traffic without having to make a switching decision. By contrast, in a shared mesh environment, every intermediate node along the protection path may have to make a real-time switch. This adds considerable delay to the protection switching time.
FIG. 2 shows how the shared mesh network adds delay in the protection switching time. The two working paths have no common point of failure, so let us assume that they share protection bandwidth on the link AE. Now, if the WD1 working path fails, then node E must connect AE to EB, whereas if the WD2 working path fails, then node E must connect AE to ED. Therefore, node E must decide in real time which switch to perform and then perform it. There is no way that node E can be pre-cross-connected to pass through all the protection traffic that it sees. Notice further that this issue can arise regardless of whether one uses link-based or path-based shared mesh protection.
Recognizing these issues, the concept of a “p-cycle” has been proposed. The idea is to route the working traffic using an arbitrary mesh routing algorithm, but to constrain the protection paths to lie on certain predetermined “p-cycles” or rings. These p-cycles are pre-cross-connected just as in a SONET BLSR network. With p-cycles, the troublesome multi-way “branch point” illustrated in FIG. 2 at node E never occurs. When a failure occurs, the nodes at either end of the failure must react and perform a real-time switch, but all the intermediate nodes on the protection path simply pass through the traffic. Fast ring-like restoration speeds are thereby achieved. The bandwidth efficiency of p-cycles is high. Constraining the protection paths to lie on p-cycles might seem to be a very stringent requirement that would carry a high bandwidth penalty. In practice, however, this bandwidth penalty has proved to be very small. More importantly though, the p-cycle scheme is inherently link-based. So it has all the usual pros and cons of link-based schemes explained above. In particular, node failures cannot be survived. To date, there has been no approach to provide a mesh network with shared path-based protection that provides bandwidth efficiency and retains the efficiency of protection switching times of SONET rings.